package com.gzz.redis.cachedata;

import java.lang.annotation.*;

/**
 * @author higmd
 */
@Target({ElementType.METHOD})  //作用的位置
@Retention(RetentionPolicy.RUNTIME) //作用域
@Documented
public @interface CacheData {
    String keyName() default ""; // 缓存唯一KEY,默认类路径名+方法名
    long cacheTime() default 3600; // 缓存时间,默认1个小时
    String interfaceName() default ""; // 接口名称
    /**
     * 自定义参数序列化, 默认全部参数序列化, 数组填写从0开始
     * 例如: 方法有3个参数, Function(String param1,String param2,String param3)
     *       现在只想把第一和第三个参数作为KEY, 那么 paramIndex = {0,2}
     */
    int[] paramIndex() default {};
}
